CPU 使用率
CPU 使用率
CPU 使用率(CPU Utilization)是指在一段时间内,处理器用于执行任务的时间占总时间的比例。它反映了 CPU 的繁忙程度,通常以百分比表示。
1 基本概念:
-
用户态(User Mode)CPU 使用率:
- CPU 在用户态(用户空间)运行用户应用程序的时间。
- 例如,当你运行一个程序(如文本编辑器、浏览器等)时,CPU 会在用户态处理这些任务。
-
系统态(System Mode)CPU 使用率:
- CPU 在内核态(内核空间)执行系统调用、驱动程序等操作的时间。
- 例如,文件读写操作、网络请求处理等属于内核态。
-
空闲态(Idle)CPU 使用率:
- CPU 处于空闲状态,没有任务要执行的时间。
- 这个数值越大,表示 CPU 越空闲。
-
等待 I/O(I/O Wait):
- CPU 等待输入输出(如硬盘、网络)的时间。这种情况下,CPU 可能是空闲的,但由于等待 I/O 完成而无法进行其他任务。
-
中断时间(IRQ & SoftIRQ):
- CPU 处理硬件中断(IRQ)和软件中断(SoftIRQ)的时间。
高 CPU 使用率的含义:
- 高 CPU 使用率意味着系统在执行大量的计算任务,可能是正常现象(例如运行密集型计算任务),也可能是系统负载过高。
- 低 CPU 使用率则表明系统相对空闲,CPU 大部分时间处于空闲状态。
如何查看 CPU 使用率:
- 使用
top
或htop
等工具可以实时监控 CPU 的使用情况。 - 使用
mpstat
可以更详细地查看每个 CPU 核心的使用率。
2 如何查看CPU时间
cat /proc/stat
查看开机以来的系统CPU时间 /proc/stat
The amount of time, measured in units of USER_HZ
(1/100ths of a second on most architectures, use
sysconf(SC_CLK_TCK) to obtain the right value),
that the system ("cpu" line) or the specific CPU
("cpu_N" line) spent in various states
单位为时间数量,一般是 1/100 秒,具体值根据 USER_HZ 确定。
3 CPU 使用率的计算方法
总CPU使用率(开机以来)
一段时间内的平均CPU使用率
4 获得CPU使用率的几种方法
top
命令
按1
可以看每个CPU单独的数据 linux-tophtop
命令
优势:可以响应鼠标点击事件,滚动查看,查看进程树vmstat 1
每秒输出一次vmstat reports information about processes, memory, paging, block IO, traps, disks and cpu activity
mpstat
或者mpstat -u 1 10
获取一段时间内的CPU使用率
sar 1 5
此命令每秒采集一次数据,连续采集 5 次。
ps
:ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
cat /proc/stat
通过读取CPU时间,自行计算CPU使用率- 查看指定进程的CPU使用情况: linux-pidstat
本站总访问量次 本站访客数人次 本文总阅读量次